AppScale: Open-Source Platform-As-A-Service

نویسندگان

  • Chris Bunch
  • Navraj Chohan
  • Chandra Krintz
چکیده

AppScale is a scalable, distributed, and fault tolerant cloud runtime system that we have developed at the University of California, Santa Barbara as part of our research into the next generation of programming systems [5, 3]. In particular, AppScale is a cloud platform, i.e. a platform-as-a-service (PaaS) cloud fabric, that executes over cluster resources. The cluster resources underlying AppScale can be managed with or without virtualization (e.g. Xen, KVM) or via popular cloud infrastructures including Amazon EC2 [6] and Eucalyptus [8]. The AppScale platform virtualizes, abstracts, and multiplexes cloud and system services across multiple applications, enabling write-one, run-anywhere (WORA) program development for the cloud. In addition to simplifying application development and deployment using cloud systems and modern distributed computing technologies, AppScale brings popular public cloud fabrics to “on-premise”, or private, clusters. To enable this, we emulate key cloud layers from the commercial sector – (i) to engender a user community, (ii) to gain access to and to study real applications, and (iii) to investigate the potential implementations of, and extensions to, public cloud systems using open-source technologies. The first API we have chosen to emulate is that of Google App Engine [11]. Google App Engine is a cloud platform that provides scalable implementations of technologies important for web services (messaging, key-value data storage, multi-tasking, web server support, elasticity, and resource management, among others). Using Google App Engine developers debug and test their programs using an open-source software development kit (SDK) provided by Google that implements non-scalable versions of the APIs. Developers then upload their code and data to Google clusters, and can then use Google resources and services “pay-per-use”, on a free or low-cost rental basis. AppScale implements the (open) Google App Engine APIs such that applications that execute on Google App Engine, also execute on AppScale without modification using private cluster resources or public cloud infrastructures. Our API and service implementations target scale, distribution, fault tolerance, high-performance, and high availability. We leverage mature open-source technologies to the greatest degree possible to enable this. AppScale implements multiple language runtimes (Java, Python, Ruby) as application frontends and a wide range of open source database technologies (key-value or relational) as options for its internal system-wide datastore. AppScale is not a replacement for Google App Engine or any other public cloud technology. Instead, AppScale is a robust and extensive distributed system that provisions the resources it is allocated scalably across multiple applications. The AppScale platform exports services and APIs in addition to those provided by Google App Engine. These technologies are important for application domains beyond those of web services, e.g. data analytics and data and computationally intensive applications. AppScale exports these technologies as services, i.e. AppScale “service-izes” libraries, tools, and software packages, including MapReduce, X10, R, and MPI, and, as it does for the Google App Engine APIs, AppScale provides automatic configuration, deployment, and distribution for them, as well as support for their elasticity, load balancing, and fault tolerance. Since AppScale provides a software layer between applications and the implementations of cloud APIs and services, we are also able to employ existing cloud services for the implementations. As such, AppScale provides a hybrid cloud platform – a programming system through which an application can access services from different clouds (a mix of public and private) at different times or concurrently. Such support can be used by developers to move data between clouds, e.g., for disaster recovery, fault tolerance, data backups, to reduce public cloud costs (to use lower-cost alternatives), and to “fall out” from a private cloud with limited resources to a public cloud on-demand.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

AppScale: Scalable and Open AppEngine Application Development and Deployment

We present the design and implementation of AppScale, an open source extension to the Google AppEngine (GAE) Platform-asa-Service (PaaS) cloud technology. Our extensions build upon the GAE SDK to facilitate distributed execution of GAE applications over virtualized cluster resources, including Infrastructure-as-a-Service (IaaS) cloud systems such as Amazon’s AWS/EC2 and Eucalyptus. AppScale pro...

متن کامل

Hybrid Cloud Support for Large Scale Analytics and Web Processing

Platform-as-a-service (PaaS) systems, such as Google App Engine (GAE), simplify web application development and cloud deployment by providing developers with complete software stacks: runtime systems and scalable services accessible from well-defined APIs. Extant PaaS offerings are designed and specialized to support large numbers of concurrently executing web applications (multi-tier programs ...

متن کامل

Comparative Study of Various Platform as a Service Frameworks

Cloud computing is an emerging paradigm with three basic service models such as Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS). This paper focuses on different kinds of PaaS frameworks. PaaS model provides choice of cloud, developer framework and application service. In this paper, detailed study of four open PaaS frameworks like AppScale, Clo...

متن کامل

North by Northwest: Infrastructure Agnostic and Datastore Agnostic Live Migration of Private Cloud Platforms

Cloud technology is evolving at a rapid pace with innovation occurring throughout the software stack. While updates to Software-as-a-Service (SaaS) products require a simple push of code to the production servers or platform, updates to the Infrastructure-as-a-Service (IaaS) or Platform-as-a-Service (PaaS) layers require more intricate procedures to prevent disruption to services at higher abst...

متن کامل

The AppScale Cloud Platform

72 Published by the IEEE Computer Society 1089-7801/13/$31.00 © 2013 IEEE IEEE INTERNET COMPUTING A s compute power, disk storage, and highend network communication costs plummet, cloud computing has emerged to provide intuitive, utility-style access to vast pools of resources (compute, storage, networking, and software services). Although such processing power is cheap and readily available, a...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011